const OSS = require('ali-oss')
import { GetOssSetting,GetWebUploadFileInit } from '../api/upload'
import utils from './utils.js'
/**
 * oss 直传
 * @param {文件流：我使用的是vant上传组件拿到的file文件流} file 
 * @param {oss文件夹的名字} fileType 
 * @returns 
/** @type {*} */

	//oss服务器的配置--在控制台可以获取到的（由于正式和测试的参数是不一样的，所以我统一放到环境变量管理起来）
	var headerUrl = region;//https://lalalala.oss-cn-beijing.aliyuncs.com
	var url = region.split('//')
	headerUrl = url[0] + "//" + bucket + '.' + url[1]
	url = url[1].split('.')
	var client = new OSS({
		region: url[0], //格式：oss-cn-beijing
		accessKeyId: accessKeyId, //oss控制台可以获取的
		accessKeySecret: accessKeySecret, //oss控制台可以获取的
		bucket: bucket, //lalalala
		secure: true,
	})
	//GetWebUploadFileInit({fileType:3,type:'video/mp4',ext:'mp4'}).then(res => {
	//	
	//})
//这个就是主要方法了，我是直接封装了一个方法
export const uploadOss= function (file,fileType){
	  let picList=[];
	  let promise = new Promise(function(resolve, reject) {
      //  ossPath是构造的一个oss服务器的路径,打比方要构造一个叫oss-img-path/20220211/20220211.jpg
      //ossPath这个方法返回的就是--oss-img-path/20220211/20220211.jpg的结果
	  let imgUrl=ossPath(file,fileType)
	  client.multipartUpload(imgUrl, file).then(function(result) {
      picList.push({
				url:headerUrl + '/'+imgUrl,
				path:imgUrl
			});
      resolve(picList);
    }).catch(function(err) {
      console.log(err);
      reject(err);
    });
  });
	console.log(promise,"返回路径")
  return promise
}
/**
 * oss 文件格式 这个是项目中构建的存储图片的路径格式 
 */
 const ossPath = function (file,fileType) {
	let date = new Date();
	let year = date.getFullYear(),
	month = ("0" + (date.getMonth() + 1)).slice(-2),
	day = ("0" + date.getDate()).slice(-2),
	hour = ("0" + date.getHours()).slice(-2),
	minutes = ("0" + date.getMinutes()).slice(-2),
	seconds = ("0" + date.getSeconds()).slice(-2);
	let imgType = file.name.substr(file.name.lastIndexOf("."));//获取图片类型
	let str = year+month+day+hour+minutes+seconds+getRandomNum(10000, 99999);
	let ossImgPath = (fileType?fileType:"default-path")+'/'+ year +'/' + month + '/' + day + '/' + str + imgType;
	return ossImgPath;
};
// 随机数
function getRandomNum(Min, Max) {
	var Range = Max - Min;
	var Rand = Math.random();
	return (Min + Math.round(Rand * Range));
}
